package org.ash.user.pojo.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.Email;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
import java.util.Date;

import static org.ash.base.constant.MessageConstant.PHONE_FORMAT_INCORRECT;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class UserUpdateDTO {
    @NotBlank(message = "用户名不能为空")
    private String username;          // 用户名
    @NotBlank(message = "密码不能为空")
    private String password;          // 密码
    @Email(message = "邮箱格式不正确")
    private String email;             // 电子邮件
    @Pattern(regexp = "^[1][3-9][0-9]{9}$", message = PHONE_FORMAT_INCORRECT)
    private String phone;             // 电话
    private String name;              // 姓名
    private Integer sex;              // 性别
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date dateOfBirth;         // 出生日期
    private String idNumber;          // 身份证号
    private Integer status;           // 状态
    private Integer role;             // 角色：1代表管理员，2或者null代表普通用户
    private String address;           // 地址
}
